package com.brillilab.service.core.experiments;

import com.brillilab.domain.po.experiments.PlateGridTimer;
import com.brillilab.domain.vo.experiments.PlateTimerVo;

import java.util.List;

public interface IPlateGridTimerService {
    boolean insert(PlateGridTimer gridTimer);

    int selectCountOnePlate(Long plateId);

    PlateGridTimer selectOne(Long plateId,Long gridId,Long timerId);

    List<PlateGridTimer> selectList(Long plateId);

    List<PlateTimerVo> selectVoList(Long plateId,Long gridId);

    boolean deleteByStepTimerId(Long stepTimerId);

    boolean deleteByPlateId(Long plateId);

    List<PlateGridTimer> selectList(Long stepTimerId,List<Long> gridId);

    int selectCountOneGrid(Long gridId);

    boolean deleteById(Long id);

    List<PlateGridTimer> selectList(List<Long> gridIds);

    int insertBatch(List<PlateGridTimer> timers);

    int deleteInGridIds(Long stepTimerId,List<Long> gridIds);

    int deleteInPlate(Long stepTimerId,Long plateId);

    List<PlateGridTimer> selectListByStepTimerId(Long stepTimerId);

    List<Long> selectPlateGridIdList(Long plateId);

    boolean deleteByExperimentId(Long experimentId);
}
